<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/include/uapi/linux/cgroupstats.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/include/uapi/linux/cgroupstats.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="k">/* cgroupstats.h - exporting per-cgroup statistics</span>
<a name="2" /><span class="True">       2:</span> <span class="k"> *</span>
<a name="3" /><span class="True">       3:</span> <span class="k"> * Copyright IBM Corporation, 2007</span>
<a name="4" /><span class="True">       4:</span> <span class="k"> * Author Balbir Singh &lt;balbir@linux.vnet.ibm.com&gt;</span>
<a name="5" /><span class="True">       5:</span> <span class="k"> *</span>
<a name="6" /><span class="True">       6:</span> <span class="k"> * This program is free software; you can redistribute it and/or modify it</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> * under the terms of version 2.1 of the GNU Lesser General Public License</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * as published by the Free Software Foundation.</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> *</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> * This program is distributed in the hope that it would be useful, but</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> */</span>
<a name="14" /><span class="True">      14:</span> 
<a name="15" /><span class="True">      15:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0xJTlVYX0NHUk9VUFNUQVRTX0hfMA__"><span class="b">_LINUX_CGROUPSTATS_H</span></a>
<a name="16" /><span class="True">      16:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0xJTlVYX0NHUk9VUFNUQVRTX0hfMA__"><span class="b">_LINUX_CGROUPSTATS_H</span></a>
<a name="17" /><span class="True">      17:</span> 
<a name="18" /><span class="True">      18:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">types</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="19" /><span class="True">      19:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">linux</span><span class="f">/</span><span class="b">taskstats</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="20" /><span class="True">      20:</span> 
<a name="21" /><span class="True">      21:</span> <span class="k">/*</span>
<a name="22" /><span class="True">      22:</span> <span class="k"> * Data shared between user space and kernel space on a per cgroup</span>
<a name="23" /><span class="True">      23:</span> <span class="k"> * basis. This data is shared using taskstats.</span>
<a name="24" /><span class="True">      24:</span> <span class="k"> *</span>
<a name="25" /><span class="True">      25:</span> <span class="k"> * Most of these states are derived by looking at the task-&gt;state value</span>
<a name="26" /><span class="True">      26:</span> <span class="k"> * For the nr_io_wait state, a flag in the delay accounting structure</span>
<a name="27" /><span class="True">      27:</span> <span class="k"> * indicates that the task is waiting on IO</span>
<a name="28" /><span class="True">      28:</span> <span class="k"> *</span>
<a name="29" /><span class="True">      29:</span> <span class="k"> * Each member is aligned to a 8 byte boundary.</span>
<a name="30" /><span class="True">      30:</span> <span class="k"> */</span>
<a name="31" /><span class="True">      31:</span> <span class="m">struct</span> <span class="b">cgroupstats</span> <span class="f">{</span>
<a name="32" /><span class="True">      32:</span>     <span class="b">__u64</span>    <span class="b">nr_sleeping</span><span class="f">;</span>        <span class="k">/* Number of tasks sleeping */</span>
<a name="33" /><span class="True">      33:</span>     <span class="b">__u64</span>    <span class="b">nr_running</span><span class="f">;</span>        <span class="k">/* Number of tasks running */</span>
<a name="34" /><span class="True">      34:</span>     <span class="b">__u64</span>    <span class="b">nr_stopped</span><span class="f">;</span>        <span class="k">/* Number of tasks in stopped state */</span>
<a name="35" /><span class="True">      35:</span>     <span class="b">__u64</span>    <span class="b">nr_uninterruptible</span><span class="f">;</span>    <span class="k">/* Number of tasks in uninterruptible */</span>
<a name="36" /><span class="True">      36:</span>                     <span class="k">/* state */</span>
<a name="37" /><span class="True">      37:</span>     <span class="b">__u64</span>    <span class="b">nr_io_wait</span><span class="f">;</span>        <span class="k">/* Number of tasks waiting on IO */</span>
<a name="38" /><span class="True">      38:</span> <span class="f">}</span><span class="f">;</span>
<a name="39" /><span class="True">      39:</span> 
<a name="40" /><span class="True">      40:</span> <span class="k">/*</span>
<a name="41" /><span class="True">      41:</span> <span class="k"> * Commands sent from userspace</span>
<a name="42" /><span class="True">      42:</span> <span class="k"> * Not versioned. New commands should only be inserted at the enum&apos;s end</span>
<a name="43" /><span class="True">      43:</span> <span class="k"> * prior to __CGROUPSTATS_CMD_MAX</span>
<a name="44" /><span class="True">      44:</span> <span class="k"> */</span>
<a name="45" /><span class="True">      45:</span> 
<a name="46" /><span class="True">      46:</span> <span class="m">enum</span> <span class="f">{</span>
<a name="47" /><span class="True">      47:</span>     <span class="b">CGROUPSTATS_CMD_UNSPEC</span> <span class="f">=</span> <span class="b">__TASKSTATS_CMD_MAX</span><span class="f">,</span>    <span class="k">/* Reserved */</span>
<a name="48" /><span class="True">      48:</span>     <span class="b">CGROUPSTATS_CMD_GET</span><span class="f">,</span>        <span class="k">/* user-&gt;kernel request/get-response */</span>
<a name="49" /><span class="True">      49:</span>     <span class="b">CGROUPSTATS_CMD_NEW</span><span class="f">,</span>        <span class="k">/* kernel-&gt;user event */</span>
<a name="50" /><span class="True">      50:</span>     <span class="b">__CGROUPSTATS_CMD_MAX</span><span class="f">,</span>
<a name="51" /><span class="True">      51:</span> <span class="f">}</span><span class="f">;</span>
<a name="52" /><span class="True">      52:</span> 
<a name="53" /><span class="True">      53:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q0dST1VQU1RBVFNfQ01EX01BWF8w"><span class="b">CGROUPSTATS_CMD_MAX</span></a> <span class="f">(</span><span class="b">__CGROUPSTATS_CMD_MAX</span> <span class="f">-</span> <span class="c">1</span><span class="f">)</span>
<a name="54" /><span class="True">      54:</span> 
<a name="55" /><span class="True">      55:</span> <span class="m">enum</span> <span class="f">{</span>
<a name="56" /><span class="True">      56:</span>     <span class="b">CGROUPSTATS_TYPE_UNSPEC</span> <span class="f">=</span> <span class="c">0</span><span class="f">,</span>    <span class="k">/* Reserved */</span>
<a name="57" /><span class="True">      57:</span>     <span class="b">CGROUPSTATS_TYPE_CGROUP_STATS</span><span class="f">,</span>    <span class="k">/* contains name + stats */</span>
<a name="58" /><span class="True">      58:</span>     <span class="b">__CGROUPSTATS_TYPE_MAX</span><span class="f">,</span>
<a name="59" /><span class="True">      59:</span> <span class="f">}</span><span class="f">;</span>
<a name="60" /><span class="True">      60:</span> 
<a name="61" /><span class="True">      61:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q0dST1VQU1RBVFNfVFlQRV9NQVhfMA__"><span class="b">CGROUPSTATS_TYPE_MAX</span></a> <span class="f">(</span><span class="b">__CGROUPSTATS_TYPE_MAX</span> <span class="f">-</span> <span class="c">1</span><span class="f">)</span>
<a name="62" /><span class="True">      62:</span> 
<a name="63" /><span class="True">      63:</span> <span class="m">enum</span> <span class="f">{</span>
<a name="64" /><span class="True">      64:</span>     <span class="b">CGROUPSTATS_CMD_ATTR_UNSPEC</span> <span class="f">=</span> <span class="c">0</span><span class="f">,</span>
<a name="65" /><span class="True">      65:</span>     <span class="b">CGROUPSTATS_CMD_ATTR_FD</span><span class="f">,</span>
<a name="66" /><span class="True">      66:</span>     <span class="b">__CGROUPSTATS_CMD_ATTR_MAX</span><span class="f">,</span>
<a name="67" /><span class="True">      67:</span> <span class="f">}</span><span class="f">;</span>
<a name="68" /><span class="True">      68:</span> 
<a name="69" /><span class="True">      69:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q0dST1VQU1RBVFNfQ01EX0FUVFJfTUFYXzA_"><span class="b">CGROUPSTATS_CMD_ATTR_MAX</span></a> <span class="f">(</span><span class="b">__CGROUPSTATS_CMD_ATTR_MAX</span> <span class="f">-</span> <span class="c">1</span><span class="f">)</span>
<a name="70" /><span class="True">      70:</span> 
<a name="71" /><span class="True">      71:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _LINUX_CGROUPSTATS_H */</span>
<a name="72" /><span class="True">      72:</span> </pre>
  </body>
</html>
